package com.ruoyi.common.core.domain.machine;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.store.EmpGood;
import com.ruoyi.common.core.domain.store.EmpStoreVo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 机台列表对象 emp_machine implements Serializable
 *
 * @author 黄字添
 * @date 2023-12-25
 */
@Data
public class EmpMachine extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 机台ID
     */
    @Excel(name = "机台ID")
    private Long machineID;

    /**
     * 机台名称
     */
    @Excel(name = "机台名称")
    private String machineName;

    @Excel(name = "商品ID")
    private Long goodID;
    private EmpGood good;

    /**
     * 门店ID
     */
    @Excel(name = "门店ID")
    private Long storeID;
    private String storeName;
    private EmpStoreVo store;

    /**
     * 机台类型ID
     */
    @Excel(name = "机台类型ID")
    private Long typeID;
    private String machineType;
    private EmpMachineType type;

    /**
     * 设备ID
     */
    @Excel(name = "设备ID")
    private Long equipmentID;

    /**
     * 图片URL
     */
    @Excel(name = "图片URL")
    private String imageURL;

    /**
     * 机台状态
     */
    private Integer status;

    /**
     * 设备型号
     */
    @Excel(name = "设备型号")
    private String equipmentModel;

    /**
     * 货币类型
     */
    @Excel(name = "货币类型")
    private String currencyType;

    /**
     * 入场数额
     */
    @Excel(name = "入场数额")
    private Integer admissionAmount;

    /**
     * 最大币数
     */
    @Excel(name = "最大币数")
    private Integer maxCoins;

    /**
     * 在线人数
     */
    @Excel(name = "在线人数")
    private Integer onlinePeople;

    /**
     * 最大人数
     */
    @Excel(name = "最大人数")
    private Integer maxPeople;

    /**
     * 接口协议
     */
    @Excel(name = "摄像头协议")
    private String protocols;

    /**
     * 爆率
     */
    @Excel(name = "爆率")
    private Integer rate;

    /**
     * 是否删除
     */
    private Integer isDelete;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /**
     * 结束时间，前端查询需要
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date endTime;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    private Long deptId;
    private Long userId;
    private String HardwareNumber; //板子编号
    private String ProtocolAddress; //板子编号
    private Integer AllowWatch;
    private Integer MaxWatchPeople;
    private Integer MaxWatchTime;
    private Integer CustodyTime;
    private Integer OccupyTime;
    private Integer FailCountTime;
    private Integer FailCount;
    private Integer SeatNumberSetting; //席位设置
    private Integer ScoreSetting; //得分设置
    private Integer seatNumber; //席位 
    
    /**
     * 关联的设备列表
     */
    @TableField(exist = false)
    private java.util.List<EmpEquipment> equipmentList;
}
